<?php

class CuadroMandoSemanalController extends Sgit_Controller_Action
{
    
    protected $_main_model = 'LecturasSistemas';

    public function indexAction()
    {
        
        
        $fecha=$this->_getParam('fecha',$this->_model->default->lastFechaLectura(1));
        
        
        $fecha_mensual=new Zend_Date($fecha,Zend_Date::ISO_8601);
        
        
        if($fecha_mensual->get(Zend_Date::MONTH_SHORT)==date('n'))
        {
            if($fecha_mensual->get(Zend_Date::DAY) > $fecha_mensual->get(Zend_Date::MONTH_DAYS)-6)
            {
                $mes_mensual=$fecha_mensual->get(Zend_Date::MONTH_SHORT);
            }else{
                $mes_mensual=$fecha_mensual->sub(1,Zend_Date::MONTH)->get(Zend_Date::MONTH_SHORT);
            }
            
        }else{
            $mes_mensual=$mes_mensual=$fecha_mensual->get(Zend_Date::MONTH_SHORT);
        }
        
        
        
        
        $this->setParam('fecha',$fecha);
        $this->view->fecha=$fecha;
        
        
        $zonas= $this->_getParam('f_zonas');

        if($zonas){
           $zonas=array_values($zonas);
           $this->view->key_zonas=implode('-',$zonas);
        }else{
           $zonas=array(3,4,1,6,2);
        }
        
        
        if(count($zonas)==5){
            $this->view->key_zonas='';
        }
        
        
        
        
        $filtros = new Sgit_Form_Filtros();
        
        $f_anio = new Sgit_Form_Element_Select_FechasLecturas('fecha');
        $f_anio->setValue($fecha);
        $filtros->addFormSelect($f_anio);

        $f_zonas = new Sgit_Form_Element_MultiCheckbox_Zonas('f_zonas');
        $f_zonas->setValue($zonas);
        $filtros->addFormSelect($f_zonas);
        
        $values = $this->_getFiltrosValues($filtros);
        $filtros->myRender();
        
        $validado=new Application_Model_LecturasSistemasValidar();
        $validado= $validado->isValidate($fecha);
        
        
 
        
        $datos = $this->_model->default->getDatos($zonas,$fecha);
  

        foreach($zonas as $k){
            if($validado[$k]==='1') $validate[$k]=1;
            elseif($validado[$k]==='0') $validate[$k]=0;
            else $validate[$k]=null;
        }
        

        
        foreach($validate as $k => $v){
            $validado[$k]=($validate[$k])  ? '' : 'ui-state-disabled';;
          
        }
        $this->view->validado=$validado;
        
        $datos['zonas']=$zonas;
        $datos['fecha']=$fecha;
        
        $datos['semana']=date('W',strtotime($fecha));
        $datos['fecha_anterior']=date('Y-m-d',strtotime(" -1 week",strtotime($fecha)));
        
        $yearweek = date('YW', strtotime($fecha));
        $last_yearweek=date('YW',strtotime(" -1 week",strtotime($fecha)));
        $last_year=date('Y-m-d',strtotime(" -1 year",strtotime($fecha)));
        
        $mas_yearweek=date('Y-m-d',strtotime(" +1 week",strtotime($fecha)));
        $anio=date('Y',strtotime($fecha));
        $mes=date('n',strtotime($fecha));
        
        $pue=new Application_Model_Pue();
        $pue->setFechas(date('Y-01-01',strtotime($fecha)), $mas_yearweek);
        $pue->setZona($zonas);
        
        foreach($zonas as $z){
            if(is_null($validate[$z]))$datos['pue'][$z][1]=null;
            else $datos['pue'][$z][1]=$pue->getPueSemanalCM($fecha,$z);
        }


        $global= $pue->getPueGlobalSemanal();

        $this->view->mes_mensual=Sgit_Util_Meses::run($mes_mensual);
        $datos['pue_mensual'] = $pue->getPueMensualMes($anio,$mes_mensual);
        $datos['pue_global']=$global[$yearweek];
        $datos['pue_global_anterior']=$global[$last_yearweek];

        $objetivos=$pue->getObjetivos();
        $datos['objetivos']=$objetivos[$anio];


        $data = $pue->getPueSemanalObjetivo($anio);
        
        foreach($data as $z=>$v){
            if($v[$yearweek]['plan']>1)
                $datos['pue_plan'][$z]=$v[$yearweek]['plan'];
        }

        

        $this->view->link1='<a class="jTipImg" rel="/grafico/index/potencia-sistemas/id/%s/f_lectura/%s/w/685">%s</a>';
        $this->view->link2='<a class="jTipImg" rel="/grafico/index/potencia-sistemas/id_sistema/%s/f_lectura/%s/idZona/%s/w/685">%s</a>';
        $this->view->link4='<a class="jTipImg" rel="/grafico/index/pue/idZona/%s/f_inicio/'.$last_year.'/f_lectura/%s/w/685">%s</a>';
        $this->view->link5='<a class="jTipImg" rel="/grafico/index/pue-mensual/idZona/%s/f_lectura/%s/w/685">%s</a>';
        $this->view->link6='<a class="jTipImg" rel="/grafico/index/pue-acumulado/idZona/%s/f_inicio/'.$last_year.'/f_lectura/%s/w/685">%s</a>';
        $this->view->link7='<a href="/cuadro-mando-semanal/ups/idZona/%s/fecha/%s"><img src="/img/viewmag.png" border="0" class="noprint lupa"/></a>';

        $this->view->datos=$datos;
    }
    
    public function upsAction()
    {
        $fecha=$this->_getParam('fecha');
        $idZona=$this->_getParam('idZona');
        
        
        $this->_loadModel('ContadoresSistemas');      
        $contador_sistema=$this->_model->ContadoresSistemas->GetCol('id',array('id_zona=?'=>$idZona,'id_tipo_sistema = ?'=>9));
        	
            

        $this->view->sistemaA=$contador_sistema[0];
        $this->view->sistemaB=$contador_sistema[1];
        $this->view->sistemaC=$contador_sistema[2];
        $this->view->sistemaD=$contador_sistema[3];
 
        $this->view->fecha=$fecha;
        $this->view->idZona=$idZona;
    }
    
    
    
    public function editarAction()
    {
        
        $nombre=$this->_getParam('nombre');
        $valor=$this->_getParam('valor');
        
        
        $this->_loadModel('Constantes');
        $keys['nombre']=$nombre;
        $forUpdate['valor']=$valor;
        
        $this->_model->Constantes->alter();
        $this->_model->Constantes->replace($keys,$forUpdate);
        
        $json['status'] = 'ok';
        $json['id'] = $nombre;
        $this->_helper->json($json);
        
    }
    
    
    
}

